package File;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class filedelete {

    /**
     * 创建文件夹
     * @param dir
     */
    public static void createDir(File dir){
        dir.mkdirs();
    }

    /**
     * 删除文件夹
     * @param dir
     */
    public static void deleteDir(File dir){
        dir.delete();
    }

    /**
     * 创建新的文件
     * @param file
     */
    public static void createFile(File file){
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除文件
     * @param file
     */
    public static void deleteFile(File file){
        file.delete();
    }

    public static void main(String[] args) {

        //G:\Projects\IdeaProjects\IO\src\abc

        String[] allFile = new String[0];

        // 控制台输入
        Scanner input = new Scanner(System.in);
        String in = input.nextLine();

        // 创建新的文件夹
        File fileDir = new File(in);
        // 调用创建方法
        if(!fileDir.exists()){
            createDir(fileDir);
        }
        if (fileDir.exists()){
            // 创建新的文件 --- 路径追加
            File fileFil = new File(in+fileDir.separator+"abc.txt");
            //File fileFil = new File(in+"/abc.txt");

            // 调用创建方法
            if (!fileFil.exists()){
                createFile(fileFil);
                System.out.println(fileFil.getName()+"已创建！");
            }

            // 展示父文件夹下所有文件
            System.out.println("是否展示当前目录的所有文件?");
            String show = input.nextLine();
            if (show.equals("y")){
                //显示当前目录下所有文件
                allFile = fileFil.getParentFile().list();
                for(String all:allFile){
                    System.out.println(all);
                }
            }else{
                // 是否删除文件
                System.out.println("是否删除当前目录的所有文件?");
                String delete = input.nextLine();
                if (delete.equals("y")){
                    System.out.println("对不起，该文件夹下存在文件，是否继续删除？");
                    String continueDelete = input.nextLine();
                    if (continueDelete.equals("y")){
                        //遍历删除
                        File[] fileList = (new File(in)).listFiles();
                        for (File file:fileList){
                            if (file.isFile()){
                                deleteFile(file);
                            }
                        }
                        deleteDir(fileDir);
                        System.out.println("文件夹已删除!");
                    }
                }
            }

        }
    }
}
